1. Technical Field
The present invention relates to computer networks and more particularly, to monitoring the processes in such networks.
2. Discussion of the Related Art
Networks of processes in which the processes are constantly subscribing, unsubscribing, or publishing topics pose a challenge for effective propagation of the current subscription status of each process. In such networks, usually implemented over a computer network, each process may either voluntarily or involuntarily join or leave a topic selected from a space of topics reflecting the subject of interest of the respective processes. One requirement of effective propagation of the subscription status of processes in a network is that under conditions of stability and within a specified period of time, all processes in the network are informed with the subscription status of each and every process in the network. Usually, the propagation of the subscription status of the processes is achieved by repeatedly transferring messages (known as interest views) between processes in the network.
Several attempts to deal with the propagation of subscription status of processes within a network are known in the existing art. One such attempt is known as Virtually Synchronous Group Membership protocols. These protocols support strong quality of service with respect to the consistency on the interest views, and synchronization with the stream of delivered messages. Some examples include: DCS, Transis, Horus, and Spread.
The aforementioned protocols tend to suffer from several drawbacks such as: high network usage, high runtime costs, high latency caused by the multiple message rounds that should be executed to reach decision on the next view, high likelihood of blocking normal operation during reconfiguration due to the need to synchronize views with the message streams, and reliance on IP multicast, or hardware supported broadcast for message transport which is undesirable in the production environments due to security limitations.
Other attempts to deal with subscription status propagation include server-based Group Membership services. Some of these systems follow the client/server paradigm. In these systems, a small group of servers manages the interests of all the other processes in the system. These solutions tend to suffer from scalability issues (due to unequal load distribution), simplicity issues (due to the necessity to configure and dynamically maintain a set of dedicated processes), and availability limitations (the availability of the service is only as good as the availability of the membership servers).
Yet other attempts to deal with subscription status propagation include Lightweight Group Membership services that are based on randomized gossip protocols. Some of these membership protocols employ randomized pair-wise gossiping to disseminate the view updates. These protocols are scalable and simple. However, due to the randomized neighbor selection, and limited fan-out, they are only able to supply probabilistic guarantees with respect to the view propagation latency.